<?php
class EstoquesController extends AppController {
	public $helpers = array('Html', 'Form');
	public function beforeFilter() {
		 $this->Auth->allow();
        //parent::beforeFilter();
       
    }
	public function index($id = 0,$tipo = 0) {
	
		switch($id){
			case 1:
				/*
				$this->set('estoques',$this->Estoque->find('all',array('conditions' => array ('Estoque.estoque_produto_tipo' => 1),
				'joins' => array(
								array('table' => 'maltes',
										'alias' => 'ma',
										'type' => 'LEFT',
										'conditions' => 
										array('ma.id = Estoque.estoque_produto_tipo'))))));		*/
				$this->set('estoques',$this->Estoque->query('
					SELECT ma.maltes_nome as nome, es.estoque_quantidade_porcao as porcao,
					es.estoque_valor,es.estoque_data_criada as criado, es.estoque_data_modificada as modificado, es.id 
					FROM estoques es LEFT JOIN maltes ma ON es.estoque_produto_tipo = ma.id where
					es.estoque_produto_tabela = 1'));
				break;
			case 2:
				//$this->set('estoques',$this->Estoque->find('all',array('conditions' => array ('Estoque.estoque_produto_tipo' => 2))));
				$this->set('estoques',$this->Estoque->query('
					SELECT lu.lupulos_nome as nome, es.estoque_quantidade_porcao as porcao,
					es.estoque_valor,es.estoque_data_criada as criado, es.estoque_data_modificada as modificado, es.id 
					FROM estoques es LEFT JOIN lupulos lu ON es.estoque_produto_tipo = lu.id where
					es.estoque_produto_tabela = 2'));
				break;
			case 3:
				//$this->set('estoques',$this->Estoque->find('all',array('conditions' => array ('Estoque.estoque_produto_tipo' => 3))));
				$this->set('estoques',$this->Estoque->query('
					SELECT fe.fermentos_nome as nome, es.estoque_quantidade_porcao as porcao,
					es.estoque_valor,es.estoque_data_criada as criado, es.estoque_data_modificada as modificado , es.id 
					FROM estoques es LEFT JOIN fermentos fe ON es.estoque_produto_tipo = fe.id where
					es.estoque_produto_tabela = 3'));
				break;				
			case 4:
				//$this->set('estoques',$this->Estoque->find('all',array('conditions' => array ('Estoque.estoque_produto_tipo' => 4))));
				$this->set('estoques',$this->Estoque->query('
					SELECT ag.aguas_nome as nome, es.estoque_quantidade_porcao as porcao,
					es.estoque_valor,es.estoque_data_criada as criado, es.estoque_data_modificada as modificado, es.id 
					FROM estoques es LEFT JOIN aguas ag ON es.estoque_produto_tipo = ag.id where
					es.estoque_produto_tabela = 4'));
				break;
			case 5:
				//$this->set('estoques',$this->Estoque->find('all',array('conditions' => array ('Estoque.estoque_produto_tipo' => 5))));
				$this->set('estoques',$this->Estoque->query('
					SELECT eq.equipamentos_funcao as nome, es.estoque_quantidade_porcao as porcao,
					es.estoque_valor,es.estoque_data_criada as criado, es.estoque_data_modificada as modificado, es.id 
					FROM estoques es LEFT JOIN equipamentos eq ON es.estoque_produto_tipo = eq.id where
					es.estoque_produto_tabela = 5'));
				break;
			case 6:
				//$this->set('estoques',$this->Estoque->find('all',array('conditions' => array ('Estoque.estoque_produto_tipo' => 6))));
				$this->set('estoques',$this->Estoque->query('
					SELECT ig.ingredientes_nome as nome, es.estoque_quantidade_porcao as porcao,
					es.estoque_valor,es.estoque_data_criada as criado, es.estoque_data_modificada as modificado, es.id 
					FROM estoques es LEFT JOIN ingredientes ig ON es.estoque_produto_tipo = ig.id where
					es.estoque_produto_tabela = 6'));
				break;
			
		}
		$this->set('id', $id);
		
	}
	
	public function add($id = 0) {
        if ($this->request->is('post')) {			
			$this->request->data['Estoque']['estoque_data_criada'] = date("Y-m-d H:i:s",time());
			//die(var_dump($this->request->data));
			
            if ($this->Estoque->save($this->request->data)) {
				
                $this->Session->setFlash('', 'default', array(), 'adicionado');
				$this->redirect(array('action' => 'index',$this->request->data['Estoque']['estoque_produto_tabela']));
            }
        }
		else {
		
			switch($id)
			{
				case 1:
					$malte = $this->loadModel('Malte');					
					$this->set('models',$this->Malte->query('SELECT maltes_nome as nome,id from maltes order by id asc;'));
					break;
				
				case 2:
					$lupulo = $this->loadModel('Lupulo');					
					$this->set('models',$this->Lupulo->query('SELECT lupulos_nome as nome,id from lupulos order by id asc;'));
					break;			
				case 3:
					$fermento = $this->loadModel('Fermento');					
					$this->set('models',$this->Fermento->query('SELECT fermentos_nome as nome,id from fermentos order by id asc;'));							
					break;
				case 4:
					$agua = $this->loadModel('Agua');					
					$this->set('models',$this->Agua->query('SELECT aguas_nome as nome,id from aguas order by id asc;'));
					break;
				case 5:
					$equipamento = $this->loadModel('Equipamento');					
					$this->set('models',$this->Equipamento->query('SELECT equipamentos_funcao as nome,id from equipamentos order by id asc;'));
					break;
				case 6:
					$ingrediente = $this->loadModel('Ingrediente');					
					$this->set('models',$this->Ingrediente->query('SELECT ingredientes_nome as nome,id from ingredientes order by id asc;'));
					break;
				default:
					$this->redirect(array('action' => 'index','1'));
					break;
			}
			$this->set('id',$id);
		}		
    }
	
	function edit($id = null,$tipo = 0) 
	{
		//die($id);
		if ($this->request->is('get')) {
			switch($tipo)
			{	
				case 1:
				
					$this->request->data = $this->Estoque->findById($id);
					$malte = $this->loadModel('Malte');
					$this->set('models',$this->Malte->query('SELECT maltes_nome as nome,id from maltes order by id asc;'));
					
					break;
				case 2:
					$this->request->data = $this->Estoque->findById($id);
					$lupulo = $this->loadModel('Lupulo');
					$this->set('models',$this->Estoque->query('SELECT lupulos_nome as nome,id from lupulos order by id asc;'));
					break;
				case 3:
					$this->request->data = $this->Estoque->findById($id);
					$fermento = $this->loadModel('Fermento');
					$this->set('models',$this->Estoque->query('SELECT fermentos_nome as nome,id from fermentos order by id asc;'));
					break;
				case 4:
					$this->request->data = $this->Estoque->findById($id);
					$agua = $this->loadModel('Agua');
					$this->set('models',$this->Estoque->query('SELECT aguas_nome as nome,id from aguas order by id asc;'));
					break;
				case 5:
					$this->request->data = $this->Estoque->findById($id);
					$equipamento = $this->loadModel('Equipamento');
					$this->set('models',$this->Estoque->query('SELECT equipamentos_funcao as nome,id from equipamentos order by id asc;'));
					break;
				case 6:
					$this->request->data = $this->Estoque->findById($id);
					$ingrediente = $this->loadModel('Ingrediente');
					$this->set('models',$this->Estoque->query('SELECT ingredientes_nome as nome,id from ingredientes order by id asc;'));
					break;			
			}			
			//$this->redirect(array('action' => 'index'));
		} else {			
			$this->request->data['Estoque']['estoque_data_modificada'] = date("Y-m-d H:i:s",time());
			if ($this->Estoque->save($this->request->data)) {
				$this->Session->setFlash('Editado com Sucesso', 'default', array(), 'ok');
				$this->redirect(array('action' => 'index',$this->request->data['Estoque']['estoque_produto_tabela']));
			}
		}
	}
	
	function delete($id) {
	    if (!$this->request->is('get')) {
	        throw new MethodNotAllowedException();
	    }
	    if ($this->Estoque->delete($id)) {
	        $this->Session->setFlash('The post with id: ' . $id . ' has been deleted.');
	        $this->redirect(array('action' => 'index'));
	    }
	}
	
}